package com.gxc.array;

import java.util.Arrays;
import java.util.Scanner;

/**
 * 给定一个正整数数组，检查数组中是否存在满足规则的数字组合
 *
 * 规则：A = B + 2C
 *
 * 输入描述
 * 第一行输出数组的元素个数。
 *
 * 接下来一行输出所有数组元素，用空格隔开。
 *
 * 输出描述
 * 如果存在满足要求的数，在同一行里依次输出规则里A/B/C的取值，用空格隔开。
 *
 * 如果不存在，输出0。
 *
 * 备注
 * 数组长度在3-100之间。
 * 数组成员为0-65535，数组成员可以重复，但每个成员只能在结果算式中使用一次。如：数组成员为[0, 0, 1, 5]，0出现2次是允许的，但结果0 = 0 + 2 * 0是不允许的，因为算式中使用了3个0。
 * 用例保证每组数字里最多只有一组符合要求的解。
 */
public class ConditionArray {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int[] ans = new int[n];
        for (int i = 0; i < n; i++) {
            ans[i] = scanner.nextInt();
        }
        scanner.close();

        boolean flag = false;
        Arrays.sort(ans);
        for (int i = 0; i < ans.length && !flag; i++) {
            for (int j = 0; j < ans.length && !flag; j++) {
                if (i == j) continue;

                int sum = ans[i] + ans[j] * 2;
                if (sum > ans[n-1]) break;

                int max = Math.max(i, j);
                for (int k = max+1; k < ans.length; k++) {
                    if (sum == ans[k]) {
                        System.out.println(ans[k] + " " + ans[i] + " " + ans[j]);
                        flag = true;
                        break;
                    }
                }
            }
        }
        if (!flag) {
            System.out.println(0);
        }
    }
}
